是一種網站應用程式的安全漏洞攻擊,是代碼注入的一種。
它允許惡意使用者將程式碼注入到網頁上,其他使用者在觀看網頁時就會受到影響。
這類攻擊通常包含了HTML以及使用者端腳本語言。
//取自維基百科
可以用簡單兩張圖片說明這個弱點的危險性:
所以,當下一個使用者瀏覽到這個頁面的時候,載入這個頁面的時候就會一併載入Google首頁。
但是,如果是其他不安全或是惡意的頁面呢…?
網頁伺服器/應用程式都沒有錯誤訊息可追蹤:
Web應用程式直接將來自使用者的輸入參數在未經任何處理下送回瀏覽器執行
(1)寫入式
(2)反射式
攻擊者可利用此弱點讓使用者的瀏覽器執行駭客希望它執行的 Script
常見的問題功能:電子郵件、討論區、搜尋引擎、留言板…
目的:偷取使用者認證資料
竊取登入資料(stored in the cookie)
誘導使用者到假網站進行登入作業
攻擊後端管理網站 !
讓使用者下載木馬程式
存取使用者的電腦
XSS 蠕蟲 → 癱瘓網路
<div id="body">輸出點</div>
<input type="text" value="輸出點"/>
<script>a="輸出點";</script>
範例:
192.168.1.1?id=1
=> 我們可以用上方的驗證方式去嘗試確認有沒有XSS漏洞。
最簡單的攻擊方式是下alert(1)指令。
一旦允許執行,那麼網頁上就代表能做更多的事情。
基本範例:
<div id="body">1</div>
192.168.1.1?id=1<script>alert(1)</script>
<div id="body">1<script>alert(1)</script></div>
進階範例:
轉址至其他鍵結、網站或惡意程式…等等…
<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://192.168.1.1;URL=javascript:alert('XSS');">
<A HREF="javascript:document.location='http://192.168.1.1/'">XSS</A>
所以如果有掃到有這個弱點,是一定必需要被補起來的! :)
不然會造成很可怕的危害!
修補建議或範例可以參考Fortify弱點範例及說明:https://vulncat.hpefod.com/zh-tw/weakness?q=XSS其實很偏愛Fortify